package com.tinet.autentia.autentificador.web;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import com.tinet.autentia.autentificador.model.Usuario;

/**
 * 
 * Managed Bean que maneja la informacion que proviene desde la capa web y la
 * redirecciona a los metodos necesarios.
 * 
 * @author Frmancil
 */
@ManagedBean
@ViewScoped
public class UsuarioManagedBean implements Serializable {

    /**
     * Numero serialVersionUID.
     */
    private static final long serialVersionUID = 1L;

    /**
     * Mapeo de EJB.
     */
    @EJB(mappedName = "userBean", name = "userBean")
    private transient UsuarioBean bean;
    /**
     * Usuario.
     */
    private Usuario usuario;
    /**
     * Listado de usuarios.
     */
    private List<Usuario> usuarios;
    /**
     * Mensaje a entregar por pantalla.
     */
    private String message;

    /**
     * Instanciador de nuevo Entity Manager para cada acceso a la clase.
     */
    @PostConstruct
    public void init() {
        if (this.usuario == null) {
            this.usuario = new Usuario();
        }
    }

    /**
     * 
     * Metodo del que se obtiene usuario.
     * 
     * @return Retorna usuario.
     */
    public Usuario getUsuario() {
        return usuario;
    }

    /**
     * 
     * Metodo que setea username.
     * 
     * @param usuario
     *            Usuario.
     */
    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
}
